Contention Management in Dynamic Software Transactional Memory∗
نویسندگان
چکیده
Obstruction-free concurrent algorithms differ from those with stronger nonblocking conditions in that they separate progress from correctness. While it must always maintain data invariants, an obstructionfree algorithm need only guarantee progress in the absence of contention. The programmer can (and indeed must) address progress as an out-of-band, orthogonal concern. In this work we consider the Java-based obstruction-free Dynamic Software Transaction Memory (DSTM) system of Herlihy et al. When two or more transactions attempt to access the same block of transactional memory concurrently, at least one transaction must be aborted. The decision of which transaction to abort, and under what conditions, is the contention management problem. We introduce several novel policies for contention management, and evaluate their performance on a variety of benchmarks, all running on a 16-processor SunFire 6800. We also evaluate the marginal utility of earlier, but somewhat more expensive detection of conflicts between readers and writers.
منابع مشابه
Adaptive Software Transactional Memory: A Dynamic Approach to Contention Management
Effectively managing shared memory in a multi-threaded environment is critical in order to achieve high performance in multi-core hardware platforms. Software Transactional Memory (STM) is a scheme for managing shared memory in a concurrent programming environment. STM views shared memory in a way similar to that of a database; read and write operations are handled through transactions, with ch...
متن کاملSoftware Transactional Memory for Dynamic-Sized Data Structures
Software transactional memory (STM) is a programming abstraction for organizing access to shared mutable state in concurrent programs by dividing work into atomic units, called transactions. Dynamic STM builds on this idea by allowing extra runtime decisions about transactions and memory usage, therefore it is useful for working with dynamic-sized data structures. This review first introduces S...
متن کاملDynamic Interrupt Controller and Conflict Management for Transactional Memory in Embedded System
In hardware transactional memory system, selecting an interrupt handling mechanism is the one of problems. To handle interrupts occur in transactions, all systems need special mechanisms but these require more hardware or software resources, so this is not acceptable to the embedded system that has limitations. In this paper, we proposed interrupt handling process and interrupt controller that ...
متن کاملModeling and Resolving Lock Contention for Multi-threaded Systems
Locks are efficient concurrent control mechanisms to ensure that shared resources are accessed by only a single thread in multi-threaded applications. However, for multi-core systems, lock usage leads to lock contention, which degrades program performance, increases system response time, and negatively affects scalability. This paper initially models lock contention from two aspects: static str...
متن کاملRandomization in STM Contention Management
The obstruction-free Dynamic Software Transactional Memory (DSTM) system of Herlihy et al. allows only one writing transaction at a time to access an object. Should a second require an object currently in use, a contention manager must determine which may proceed and which must wait or abort. In this case study, we consider the impact of randomization when applied to our “Karma” contention mana...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2004